Method and apparatus for channel and noise estimation

ABSTRACT

A technique for performing channel and noise estimation for a MIMO transmission sent from multiple transmit antennas to multiple receive antennas is described. Samples are obtained from multiple receive antennas for a multiple-input multiple-output (MIMO) transmission sent from multiple transmit antennas. Channel estimates are derived by correlating the samples with at least one pilot sequence. Signal, noise and interference statistics are also estimated based on a cross product of the samples. Equalizer weights are derived. The correlating includes multiplying a sample vector for a chip period and a complex conjugated pilot chip for the chip period offset by a delay.

I. RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No. 11/553,296, entitled “METHOD AND APPARATUS FOR CHANNEL AND NOISE ESTIMATION,” filed Oct. 26, 2006, which claims priority to Provisional Application No. 60/731,423, entitled “METHOD AND APPARATUS FOR SPACE-TIME EQUALIZATION IN WIRELESS COMMUNICATIONS,” filed Oct. 28, 2005, which are both herein incorporated by reference.

BACKGROUND

I. Field

The present disclosure relates generally to communication, and more specifically to techniques for performing channel and noise estimation for a multiple-input multiple-output (MIMO) transmission.

II. Background

A MIMO transmission is a transmission from multiple (T) transmit antennas to multiple (R) receive antennas. For example, a transmitter may simultaneously transmit T data streams from the T transmit antennas. These data streams are distorted by the propagation environment and further degraded by noise. A receiver receives the transmitted data streams via the R receive antennas. The received signal from each receive antenna contains scaled versions of the transmitted data streams, possibly at different delays determined by the propagation environment. The transmitted data streams are thus dispersed among the R received signals from the R receive antennas. The receiver would then perform receiver spatial processing (e.g., space-time equalization) on the R received signals in order to recover the transmitted data streams.

The receiver may derive channel and noise estimates for the MIMO channel and may then derive weights for a space-time equalizer based on the channel and noise estimates. The quality of the channel and noise estimates may have a large impact on performance. There is therefore a need in the art for techniques to derive quality channel and noise estimates for a MIMO transmission.

SUMMARY

According to an embodiment of the invention, an apparatus is described which includes at least one processor and a memory. The processor(s) obtain samples from multiple receive antennas for a MIMO transmission sent from multiple transmit antennas, derive channel estimates by correlating the samples with at least one pilot sequence, and estimate signal, noise and interference statistics based on the samples. The MIMO transmission may comprise multiple modulated signals sent from the multiple transmit antennas. Each modulated signal may comprise multiple data streams multiplexed with different orthogonal codes.

According to another embodiment, an apparatus is described which includes at least one processor and a memory. The processor(s) obtain samples from multiple receive antennas for a MIMO transmission sent from multiple transmit antennas, estimate total received energy based on the samples, estimate signal and interference energy based on the samples, and estimate noise based on the estimated total received energy and the estimated signal and interference energy.

According to yet another embodiment, an apparatus is described which includes at least one processor and a memory. The processor(s) obtain samples from multiple receive antennas for a MIMO transmission sent from multiple transmit antennas, estimate signal and on-time interference statistics based on the samples, estimate noise and multipath interference statistics based on the samples, and estimate signal, noise and interference statistics based on the estimated signal and on-time interference statistics and the estimated noise and multipath interference statistics. The on-time interference is interference that arrives at the same time as a desired signal, and the multipath interference is interference that is not on time.

According to yet another embodiment, an apparatus is described which includes at least one processor and a memory. The processor(s) obtain samples from multiple receive antennas for a MIMO transmission sent from multiple transmit antennas, determine the channel conditions based on the samples, select one of multiple channel and noise estimation schemes based on the channel conditions, and perform channel and noise estimation based on the selected channel and noise estimation scheme. To determine the channel conditions, the processor(s) may process the samples to determine delay spread, to identify single path or multipath environment, and so on.

Various aspects and embodiments of the invention are described in further detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a transmitter and a receiver for a MIMO transmission.

FIG. 2 shows a CDMA modulator for one transmit antenna.

FIG. 3 shows a channel and noise estimator for a first scheme.

FIG. 4 shows a channel estimator.

FIG. 5 shows a process for the first channel and noise estimation scheme.

FIG. 6 shows a channel and noise estimator for a second scheme.

FIG. 7 shows a process for the second channel and noise estimation scheme.

FIG. 8 shows a channel and noise estimator for a third scheme.

FIG. 9 shows a process for the third channel and noise estimation scheme.

FIG. 10 shows a process for a fourth channel and noise estimation scheme.

DETAILED DESCRIPTION

The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

The channel and noise estimation techniques described herein may be used for various communication systems such as Code Division Multiple Access (CDMA) systems, Time Division Multiple Access (TDMA) systems, Frequency Division Multiple Access (FDMA) systems, Orthogonal FDMA (OFDMA) systems, Single-Carrier FDMA (SC-FDMA) systems, and so on. A CDMA system may implement one or more radio technologies such as Wideband-CDMA (W-CDMA), cdma2000, and so on. cdma2000 covers IS-2000, IS-856, and IS-95 standards. A TDMA system may implement a radio technology such as Global System for Mobile Communications (GSM). These various radio technologies and standards are known in the art. W-CDMA and GSM are described in documents from an organization named “3rd Generation Partnership Project” (3GPP). cdma2000 is described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publicly available. An OFDMA system transmits modulation symbols in the frequency domain on orthogonal frequency subcarriers using orthogonal frequency division multiplexing (OFDM). An SC-FDMA system transmits modulation symbols in the time domain on orthogonal frequency subcarriers. For clarity, these techniques are described below for a MIMO transmission sent in a CDMA system, which may implement W-CDMA and/or cdma2000.

FIG. 1 shows a block diagram of a transmitter 110 and a receiver 150 for a MIMO transmission. For a downlink/forward link transmission, transmitter 110 is part of a base station, and receiver 150 is part of a wireless device. For an uplink/reverse link transmission, transmitter 110 is part of a wireless device, and receiver 150 is part of a base station. A base station is typically a fixed station that communicates with the wireless devices and may also be called a Node B, an access point, and so on. A wireless device may be fixed or mobile and may also be called a user equipment (UE), a mobile station, a user terminal, a subscriber unit, and so on. A wireless device may be a cellular phone, a personal digital assistant (PDA), a wireless modem card, or some other device or apparatus.

At transmitter 110, a transmit (TX) data processor 120 processes (e.g., encodes, interleaves, and symbol maps) traffic data and provides data symbols to multiple (T) CDMA modulators 130 a through 130 t. As used herein, a data symbol is a modulation symbol for data, a pilot symbol is a modulation symbol for pilot, a modulation symbol is a complex value for a point in a signal constellation (e.g., for M-PSK or M-QAM), and pilot is data that is known a priori by both the transmitter and receiver. Each CDMA modulator 130 processes its data symbols and pilot symbols as described below and provides output chips to an associated transmitter unit (TMTR) 136. Each transmitter unit 136 processes (e.g., converts to analog, amplifies, filters, and frequency upconverts) its output chips and generates a modulated signal. T modulated signals from T transmitter units 136 a through 136 t are transmitted from T antennas 138 a through 138 t, respectively.

At receiver 150, multiple (R) antennas 152 a through 152 r receive the transmitted signals via various signal paths and provide R received signals to R receiver units (RCVR) 154 a through 154 r, respectively. Each receiver unit 154 processes (e.g., filters, amplifies, frequency downconverts, and digitizes) its received signal and provides samples to a channel and noise estimator 160 and a space-time equalizer 162. Estimator 160 derives channel and noise estimates based on the samples, as described below. Space-time equalizer 162 derives weights based on the channel and noise estimates, performs equalization on the samples with the weights, and provides data chip estimates to T CDMA demodulators (Demod) 170 a through 170 t. Each CDMA demodulator 170 processes its data chip estimates in a manner complementary to the processing by CDMA modulator 130 and provides data symbol estimates. A receive (RX) data processor 180 processes (e.g., symbol demaps, deinterleaves, and decodes) the data symbol estimates and provides decoded data. In general, the processing by CDMA demodulator 170 and RX data processor 180 is complementary to the processing by CDMA modulator 130 and TX data processor 120, respectively, at transmitter 110.

Controllers/processors 140 and 190 direct operation of various processing units at transmitter 110 and receiver 150, respectively. Memories 142 and 192 store data and program codes for transmitter 110 and receiver 150, respectively.

FIG. 2 shows a block diagram of a CDMA modulator 130 for one transmit antenna. CDMA modulator 130 may be used for each of CDMA modulators 130 a through 130 t in FIG. 1. CDMA modulator 130 includes a traffic channel processor 210 for each traffic channel used for traffic data and a pilot channel processor 220 for pilot. Within processor 210 for traffic channel m, a spreader 212 spreads data symbols with an orthogonal code c_(m)(k) for traffic channel m. A multiplier 214 scales the output of spreader 212 with a gain g_(t,m) and provides data chips x_(t,m)(k) for traffic channel m on transmit antenna t. Within pilot channel processor 220, a spreader 222 spreads pilot symbols with an orthogonal code c_(t,p)(k) for pilot. A multiplier 224 scales the output of spreader 222 with a gain g_(t,p) and provides pilot chips x_(t,p)(k) for the pilot channel on transmit antenna t. A summer 230 sums the chips for all traffic and pilot channels. A scrambler 232 multiplies the output of summer 230 with a scrambling sequence s(k) for transmitter 110 and provides output chips x_(t)(k) for transmit antenna t.

The orthogonal codes for the traffic and pilot channels may be orthogonal variable spreading factor (OVSF) codes used in W-CDMA, Walsh codes used in cdma2000, and so on. In an embodiment, T different orthogonal codes are used for the pilot for the T transmit antennas to allow receiver 150 to estimate the channel response for each transmit antenna. The remaining orthogonal codes may be used for each of the T transmit antennas. For this embodiment, the pilot orthogonal codes for the T transmit antennas are distinct whereas the traffic orthogonal codes may be reused for the T transmit antennas. The spreading and scrambling may also be performed in other manners than the manner shown in FIG. 2.

The output chips for each transmit antenna t may be expressed as: x _(t)(k)≡σ_(x) ·[x _(t)(k)x _(t)(k+1) . . . x _(t)(k+K−1)]^(T),  Eq (1) where x _(t)(k) is a K×1 vector with K output chips sent from transmit antenna t,

x_(t)(k) is the output chip sent in chip period k from transmit antenna t,

σ_(x) is the gain for the output chips, and

“^(T)” denotes a transpose.

K may be set as K=E+L−1, where E is the span of space-time equalizer 162 at receiver 150 and L is the delay spread of the MIMO channel between transmitter 110 and receiver 150. Vector x _(t)(k) would then contain E+L−1 chips to be operated on by the space-time equalizer at the receiver.

In an embodiment, the receiver digitizes the received signal from each receive antenna at V times the chip rate for an oversampling factor of V and obtains V samples for each chip period. The samples for each receive antenna r may be expressed as: y _(r)(k)≡[y _(r,1)(k) . . . y _(r,V)(k) . . . y _(r,1)(k+E−1) . . . y _(r,V)(k+E−1)]^(T),  Eq (2) where y _(r)(k) is a V·E×1 vector of samples for receive antenna r, and

y_(r,v)(k) is the v-th sample in chip period k for receive antenna r.

The noise observed by the samples in y _(r)(k) may be expressed as: n _(r)(k)≡[n _(r,1)(k) . . . n _(r,V)(k) . . . n _(r,1)(k+E−1) . . . n _(r,V)(k+E−1)]^(T),  Eq (3) where n _(r)(k) is a V·E×1 noise vector for receive antenna r, and

n_(r,v)(k) is the noise observed by y_(r,v)(k).

n _(r)(k) includes channel noise, receiver noise, and interference from other transmitters, which are collectively referred to as “background” noise. As used herein, the term “noise” may refer to just background noise or background noise and inter-stream interference from other transmit antennas. For example, channel and noise estimation may refer to channel estimation and either background noise estimation or background noise and interference estimation.

The samples for all R receive antennas may be expressed as:

$\begin{matrix} {{\begin{bmatrix} {{\underset{\_}{y}}_{1}(k)} \\ \vdots \\ {{\underset{\_}{y}}_{R}(k)} \end{bmatrix} = {{\begin{bmatrix} {\underset{\_}{H}}_{1,1} & \ldots & {\underset{\_}{H}}_{1,T} \\ \vdots & \ddots & \vdots \\ {\underset{\_}{H}}_{R,1} & \ldots & {\underset{\_}{H}}_{R,T} \end{bmatrix} \cdot \begin{bmatrix} {{\underset{\_}{x}}_{1}(k)} \\ \vdots \\ {{\underset{\_}{x}}_{T}(k)} \end{bmatrix}} + \begin{bmatrix} {{\underset{\_}{n}}_{1}(k)} \\ \vdots \\ {{\underset{\_}{n}}_{R}(k)} \end{bmatrix}}},} & {{Eq}\mspace{14mu}(4)} \end{matrix}$ where H _(r,t) is a V·E×K multipath channel matrix between transmit antenna t and receive antenna r. H _(r,t) may be given as:

$\begin{matrix} {{{\underset{\_}{H}}_{r,t} \equiv \begin{bmatrix} {h_{r,t,1}\left( {L - 1} \right)} & \ldots & {h_{r,t,1}(0)} & \; \\ \vdots & \ddots & \vdots & \; \\ {h_{r,t,V}\left( {L - 1} \right)} & \ldots & {h_{r,t,V}(0)} & \; \\ \; & \ddots & \ddots & \; \\ \; & {h_{r,t,1}\left( {L - 1} \right)} & \ldots & {h_{r,t,1}(0)} \\ \; & \vdots & \ddots & \vdots \\ \; & {h_{r,t,V}\left( {L - 1} \right)} & \ldots & {h_{r,t,V}(0)} \end{bmatrix}},} & {{Eq}\mspace{14mu}(5)} \end{matrix}$ where h_(r,t,v)(l) is a complex channel gain between transmit antenna t and receive antenna r for the l-th channel tap at the v-th sampling time instant.

The impulse response between transmit antenna t and receive antenna r has a length of L chips and may be oversampled at V times chip rate to obtain V·L channel gains. These V·L channel gains may be arranged into V rows such that each row contains L channel gains for one sampling time instant v. Sample y_(r,v)(k) for sampling time instant v is obtained by convolving the transmitted data chips in x _(t)(k) with a row of channel gains for that sampling time instant. H _(r,t) contains V·E rows for the V·E samples in y _(r)(k). Each row of H _(r,t) represents the channel impulse response for one sample in y _(r)(k).

Equation (4) may be rewritten as follows: y (n)= H·x (k)+ n (k),  Eq (6) where y(k)≡[y ₁ ^(T)(k) y ₂ ^(T)(k) . . . y _(R) ^(T)(k)]^(T) is an R·V·E×1 overall received sample vector for all R receive antennas,

-   -   x(k)≡[x ₁ ^(T)(k) x ₂ ^(T)(k) . . . x _(R) ^(T)(k)]^(T) is a         T·K×1 overall transmitted chip vector for all T transmit         antennas,     -   n(k)≡[n ₁ ^(T)(k) n ₂ ^(T)(k) . . . n _(R) ^(T)(k)]^(T) is an         R·V·E×1 overall noise vector for all R receive antennas, and     -   H is an R·V·E×T·K overall channel response matrix.

The overall channel response matrix H may be given as:

$\begin{matrix} {\underset{\_}{H} \equiv \begin{bmatrix} {\underset{\_}{h}}_{1} & {\underset{\_}{h}}_{2} & \ldots & {\underset{\_}{h}}_{T \cdot K} \end{bmatrix} \equiv {\begin{bmatrix} {\underset{\_}{H}}_{1,1} & \ldots & {\underset{\_}{H}}_{1,T} \\ \vdots & \ddots & \vdots \\ {\underset{\_}{H}}_{R,1} & \ldots & {\underset{\_}{H}}_{R,T} \end{bmatrix}.}} & {{Eq}\mspace{14mu}(7)} \end{matrix}$ The first K columns of H are for transmit antenna 1, the next K columns of H are for transmit antenna 2, and so on, and the last K columns of H are for transmit antenna T. Each column of H is denoted as h _(i) and contains the channel gains observed by one transmitted chip x_(t)(k).

The transmitted chips may be recovered by space-time equalizer 162, as follows: {circumflex over (x)} _(t)(k+D)= w _(t) ^(H) ·y (k),  Eq (8) where w _(t) is an R·V·E×1 equalizer weight vector for transmit antenna t,

{circumflex over (x)}_(t)(k+D) is an estimate of data chip x_(t)(k+D) sent from transmit antenna t, and

“^(H)” denotes a conjugate transpose.

For each chip period k, vector y(k) contains samples for all R receive antennas for the E most recent chip periods. These samples contain components of K=E+L−1 most recent data chips sent from each transmit antenna. Vector y(k) is multiplied with w _(t) ^(H) to obtain an estimate of one data chip from one transmit antenna. T weight vectors w ₁ through w _(T) may be formed for the T transmit antennas and used to obtain estimates of T data chips sent from the T transmit antennas in one chip period.

In equation (8), D denotes the delay of the space-time equalizer. For each chip period k, the space-time equalizer provides an estimate of data chip x_(t)(k+D) sent D chip periods later, instead of an estimate of data chip x_(t)(k) sent in the k-th chip period. D is determined by the design of the equalizer and, in general, 1≦D≦(E+L−1).

The weight vectors w _(t) for the space-time equalizer may be derived based on various receiver processing techniques such as a minimum mean square error (MMSE) technique, a zero-forcing (ZF) technique, a maximal ratio combining (MRC) technique, and so on. Weight matrices may be derived based on the MMSE, ZF, and MRC techniques, as follows: W _(mmse) ^(H)=σ_(x) ·H ^(H)·[σ_(x) ² ·H·H ^(H) +R _(n)]⁻¹,  Eq (9) W _(zf) ^(H)=σ_(x) ·H ^(H)·[σ_(x) ² ·H·H ^(H)]⁻¹, and  Eq (10) W _(mrc) ^(H)=σ_(x) ·H ^(H),  Eq (11) where R _(n) is a noise covariance matrix and W _(mmse) ^(H), W _(zf) ^(H) and W _(mrc) ^(H) are T·K×R·V·E weight matrices for the MMSE, ZF and MRC techniques, respectively. The weight vectors w _(t) ^(H) may be obtained from the rows of W _(mmse) ^(H), W _(zf) ^(H) and W _(mrc) ^(H)

The noise covariance matrix R _(n) may be expressed as: R _(n) =E{n (k)· n ^(H)(k)},  Eq (12) where E{ } denotes an expectation operation. R _(n) is indicative of the background noise statistics and has a dimension of R·V·E×R·V·E.

The channel and noise estimation techniques described herein may be used with various receiver processing techniques. For clarity, the following description is for the MMSE technique.

For the MMSE technique, the weight vectors w _(t), for t=1, . . . , T, may be expressed as:

$\begin{matrix} \begin{matrix} {{\underset{\_}{w}}_{t}^{H} = {\sigma_{x} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot {\underset{\_}{R}}_{yy}^{- 1}}} \\ {= {\sigma_{x} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot \left\lbrack {{\sigma_{x}^{2} \cdot \underset{\_}{H} \cdot {\underset{\_}{H}}^{H}} + {\underset{\_}{R}}_{n}} \right\rbrack^{- 1}}} \\ {= {\sigma_{x} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot \left\lbrack {{\sum\limits_{i = 1}^{T \cdot K}{\sigma_{x}^{2} \cdot {\underset{\_}{h}}_{i} \cdot {\underset{\_}{h}}_{i}^{H}}} + {\underset{\_}{R}}_{n}} \right\rbrack^{- 1}}} \\ {= {\left( \frac{1}{1 + {\sigma_{x}^{2} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot \left\lbrack {{\sum\limits_{i \in I}{\sigma_{x}^{2} \cdot {\underset{\_}{h}}_{i} \cdot {\underset{\_}{h}}_{i}^{H}}} + {\underset{\_}{R}}_{n}} \right\rbrack^{- 1} \cdot {\underset{\_}{h}}_{t,D}}} \right) \cdot}} \\ {\sigma_{x} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot \left\lbrack {{\sum\limits_{i \in I}{\sigma_{x}^{2} \cdot {\underset{\_}{h}}_{i} \cdot {\underset{\_}{h}}_{i}^{H}}} + {\underset{\_}{R}}_{n}} \right\rbrack^{- 1}} \end{matrix} & {{Eq}\mspace{14mu}(13)} \end{matrix}$ where h _(t,D)=h _((t-1)·K+D) is a channel response vector for transmit antenna t at delay D,

R _(yy) is a matrix indicative of the signal, noise and interference statistics, and

I is a set that includes 1 through T·K but excludes (t−1)·K+D.

As shown in equation (13), R _(yy) includes H·H ^(H) and R _(n). H·H ^(H) includes the desired signal as well as interference from other transmit antennas. R _(n) includes the background noise. Hence, R _(yy) includes the desired signal, the background noise, and the interference from other transmit antennas. For the last equality in equation (13), each summation is over the outer products of all columns of H except for the column for the desired signal, which is h _(t,D). h _(t,D) includes on-time components arriving at the receiver at delay D. These on-time components include (1) on-time signal component from the desired transmit antenna t and (2) on-time inter-stream interference from the other T−1 transmit antennas also arriving at delay D. Equation (13) minimizes E{|w _(t) ^(H)·y(k)−x_(t)(k+D)|²}, which is the mean square error between the transmitted data chip x_(t)(k+D) and its estimate w _(t) ^(H)·y(k).

Enhanced weight vectors {tilde over (w)} _(t) that take into account the despreading effect of the subsequent CDMA demodulator may be expressed as:

                                    Eq  (14) $\begin{matrix} {{{\overset{\sim}{\underset{\_}{w}}}_{t}^{H} = {G \cdot \sigma_{x} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot \left\lbrack {{\sum\limits_{i = 1}^{T}{G^{2} \cdot \sigma_{x}^{2} \cdot {\underset{\_}{h}}_{i,D} \cdot {\underset{\_}{h}}_{i,D}^{H}}} + {\sum\limits_{q \in Q}{\sigma_{x}^{2} \cdot {\underset{\_}{h}}_{q} \cdot {\underset{\_}{h}}_{q}^{H}}} + {\underset{\_}{R}}_{n}} \right\rbrack^{- 1}}},} \\ {= {\left( \frac{1}{\begin{matrix} {1 + {G^{2} \cdot \sigma_{x}^{2} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot}} \\ {\left\lbrack {{\sum\limits_{i \in I_{t}}{G^{2} \cdot \sigma_{x}^{2} \cdot {\underset{\_}{h}}_{i,D} \cdot {\underset{\_}{h}}_{i,D}^{H}}} + {\sum\limits_{q \in Q}{\sigma_{x}^{2} \cdot {\underset{\_}{h}}_{q} \cdot {\underset{\_}{h}}_{q}^{H}}} + {\underset{\_}{R}}_{n}} \right\rbrack^{- 1} \cdot {\underset{\_}{h}}_{t,D}} \end{matrix}} \right) \times}} \\ {{G \cdot \sigma_{x} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot \left\lbrack {{\sum\limits_{i \in I_{t}}{G^{2} \cdot \sigma_{x}^{2} \cdot {\underset{\_}{h}}_{i,D} \cdot {\underset{\_}{h}}_{i,D}^{H}}} + {\sum\limits_{q \in Q}{\sigma_{x}^{2} \cdot {\underset{\_}{h}}_{q} \cdot {\underset{\_}{h}}_{q}^{H}}} + {\underset{\_}{R}}_{n}} \right\rbrack^{- 1}},} \end{matrix}$ where G is a gain for a traffic channel being received from transmit antenna t,

I_(t) is a set that includes 1 through T but excludes t, and

Q is a set that includes 1 through T·K but excludes (i−1)·K+D, for i=1, . . . , T.

For simplicity, equation (14) assumes the use of the same gain G for all transmit antennas and all traffic channels/orthogonal codes/streams. If J orthogonal codes are used for each transmit antenna and if each orthogonal code has a length of SF, then gain G may be given as G=√{square root over (SF/J)}. In general, different gains may be used for different orthogonal codes and/or different transmit antennas.

As shown in equations (13) and (14), the MMSE weight vectors may be derived based on the channel response vectors h ₁ through h _(T·K) and the noise covariance matrix R _(n). The channel response vectors may be derived based on a pilot, which may be transmitted using code division multiplexing (CDM), time division multiplexing (TDM), frequency division multiplexing (FDM), and so on. For clarity, the following description assumes the use of a CDM pilot transmitted as shown in FIG. 2. The channel response vectors and the noise covariance matrix may be estimated directly or indirectly with various schemes, as described below.

In a first channel and noise estimation scheme, the channel and noise estimates are derived directly from the received samples. For this scheme, the channel response vectors may be estimated as follows:

$\begin{matrix} {{{\hat{\underset{\_}{h}}}_{t,D} = {{LPF}_{channel}\left( {\frac{1}{N_{P} \cdot \sqrt{E_{cp}/\sigma_{x}^{2}}} \cdot {\sum\limits_{k = {- D}}^{N_{P} - D - 1}{{p_{t}^{*}\left( {k + D} \right)} \cdot {\underset{\_}{y}(k)}}}} \right)}},} & {{Eq}\mspace{14mu}(15)} \end{matrix}$ where p_(t)(k) is a pilot chip sent in chip period k from transmit antenna t,

N_(P) is the length of the orthogonal code for the pilot,

E_(cp) is the energy per pilot chip,

LPF_(channel) denotes an averaging operation for the channel estimate, and

ĥ _(t,D) is an estimate of σ_(x)·h _(t,D).

The pilot chips for transmit antenna t may be given as: p _(t)(k)=d(j)·c _(t,p)(k)·s(k),  Eq (16) where d(j) is a pilot symbol sent in pilot symbol period j,

c_(t,p)(k) is the orthogonal code for the pilot for transmit antenna t, and

s(k) is the scrambling code for the transmitter.

In equation (15), the overall sample vector y(k) is multiplied with the complex conjugated pilot chip p_(t)(k+D) for delay D and accumulated over the length of the pilot orthogonal code to obtain an initial estimate of h_(o). The initial estimate may be filtered over multiple pilot symbols to obtain ĥ _(t,D), which is an improved estimate of h _(t,D). The filtering may be performed based on a finite impulse response (FIR) filter, an infinite impulse response (IIR) filter, and so on. For example, a single-tap IIR filter with a time constant of 0.33, 0.2, or some other value per slot may be used for the channel filter, LPF_(channel). For W-CDMA, each slot spans 2560 chips and covers 10 pilot symbols sent with a 256-chip OVSF code. For cdma2000, each slot spans 768 chips and may cover 12 pilot symbols sent with a 64-chip Walsh code.

The signal, noise and interference statistics may be estimated as follows: {circumflex over (R)}=LPF _(noise)( y (k)· y ^(H)(k)),  Eq (17) where LPF_(noise) denotes an averaging operation for R _(yy), and

{circumflex over (R)} _(yy) is an estimate of R _(yy).

The noise filter, LPF_(noise), may be the same or different from the channel filter, LPF_(channel).

The weight vectors may then be derived as follows: ŵ _(t) ^(H) =ĥ _(t,D) ^(H) ·{circumflex over (R)} _(yy) ⁻.  Eq (18) Equation (18) is equivalent to equation (13) if ĥ _(t,D) and {circumflex over (R)} _(yy) are accurate estimates of σ_(x)·h _(t,D) and R _(yy), respectively. The SNR of the data chip estimates from the space-time equalizer may be expressed as:

$\begin{matrix} {{SNR}_{t} = {\frac{{\hat{\underset{\_}{w}}}_{t}^{H} \cdot {\hat{\underset{\_}{h}}}_{t,D}}{1 - {{\hat{\underset{\_}{w}}}_{t}^{H} \cdot {\hat{\underset{\_}{h}}}_{t,D}}}.}} & {{Eq}\mspace{14mu}(19)} \end{matrix}$

The first scheme derives a single estimate for R _(yy). This estimate, R _(yy), includes components for both summations in the first equality for equation (14). The two components are not accessible to apply the gain G for the desired traffic channel, and the enhanced weight vectors {tilde over (w)} _(t) are not derived from {circumflex over (R)} _(yy).

FIG. 3 shows a block diagram of a channel and noise estimator 160 a, which implements the first channel and noise estimation scheme and is an embodiment of channel and noise estimator 160 in FIG. 1. Estimator 160 a includes a serial-to-parallel (S/P) converter 310, a channel estimator 320, and a signal, noise and interference statistics estimator 330. S/P converter 310 receives the samples from R receiver units 154 a through 154 r and forms vector y(k).

Within channel estimator 320, a pilot correlator 322 correlates y(k) with a pilot sequence p_(t)(k) for each transmit antenna t and provides initial channel estimates for all transmit antennas. A channel filter 324 filters the initial channel estimates and provides final channel estimates, ĥ _(t,D). Pilot correlator 322 and filter 324 perform processing for equation (15). Within estimator 330, a unit 332 computes the outer product of y(k). A noise filter 334 then filters the output of unit 332 and provides the estimated signal, noise and interference statistics, {circumflex over (R)} _(yy). Unit 332 and filter 334 perform processing for equation (17). The scaling factor in equation (15) may be accounted for in various units, e.g., in filter 324.

FIG. 4 shows an embodiment of channel estimator 320 in FIG. 3. For this embodiment, pilot correlator 322 in FIG. 3 is implemented with R pilot correlators 322 a through 322 r and channel filter 324 is implemented with R channel filters 324 a through 324 r. One set of pilot correlator 322 r and channel filter 324 r is provided for each receive antenna.

The samples y_(1,v)(k) through y_(R,v)(k) from the R receive antennas are provided to R pilot correlators 322 a through 322 r, respectively. Within each pilot correlator 322 r, the samples y_(r,v)(k) are provided to V·E delay elements 410 that are coupled in series. Each delay element 410 provides a delay of one sample period. The V·E delay elements 410 provide their delayed samples to V·E multipliers 412. Each multiplier 412 multiplies its delayed sample with the complex conjugated pilot chip p_(t)*(k+D) for delay D. V·E accumulators 414 couple to the V·E multipliers 412. Each accumulator 414 accumulates the output of an associated multiplier 412 over the length of the pilot orthogonal code, or N_(p) chips, and provides an initial channel gain estimate h_(t,r,v)′(l) for each pilot symbol period.

Within each channel filter 324 r, V·E channel filters (LPFs) 420 couple to the V·E accumulators 414 in an associated pilot correlator 322 r. Each filter 420 filters the initial channel gain estimates from an associated accumulator 414 and provides a final channel gain estimate ĥ_(t,r,v)(l) for each update interval, e.g., each pilot symbol period. An S/P converter 430 receives the final channel gain estimates from filters 420 for all R receive antennas and provides a channel response vector ĥ _(t,D) for each update interval.

In general, the processing units shown in FIGS. 3 and 4 may be implemented in various manners. For example, these units may be implemented with dedicated hardware, a shared digital signal processor (DSP), and so on.

FIG. 5 shows an embodiment of a process 500 for performing channel and noise estimation based on the first scheme. Samples are obtained from multiple receive antennas for a MIMO transmission sent from multiple transmit antennas (block 512). Channel estimates are derived, e.g., by correlating the samples with at least one pilot sequence (block 514). The channel estimates may comprise T channel response vectors ĥ _(t,D) for t=1, . . . , T, for T transmit antennas at delay D. The channel response vector for each transmit antenna may be obtained based on a pilot sequence for that transmit antenna. The signal, noise and interference statistics are estimated based on the samples, e.g., by computing cross product of the samples and filtering the cross product results (block 516). The channel estimates may be derived with a first filter having a first bandwidth. The estimated signal, noise, and interference statistics may be derived with a second filter having a second bandwidth. The first and second filter bandwidths may be the same or different and may be fixed or configurable, e.g., adjusted based on channel conditions. Equalizer weights are derived based on the channel estimates and the estimated signal, noise and interference statistics (block 518). The samples are filtered with the equalizer weights to obtain estimates of the data chips sent from the transmit antennas (block 520).

In a second channel and noise estimation scheme, the noise estimation is performed based on an estimate of the total received energy, I_(o), at the receiver and an estimate of the signal and interference energy, I_(or). The terms “energy” and “power” are often used interchangeably.

For the second scheme, the elements of vectors σ_(x)·h ₁ through σ_(x)·h _(T·K) may be estimated as follows:

$\begin{matrix} {{{\sigma_{x} \cdot {{\hat{h}}_{r,t,v}(l)}} = {{LPF}_{channel}\left( {\frac{1}{N_{P} \cdot \sqrt{E_{cp}/\sigma_{x}^{2}}} \cdot {\sum\limits_{k = 0}^{N_{P} - 1}{{p_{t}^{*}\left( {k + l} \right)} \cdot {y_{r,v}(k)}}}} \right)}},} & {{Eq}\mspace{14mu}(20)} \end{matrix}$ where ĥ_(r,t,v)(l) is an estimate of channel gain h_(r,t,v)(l). Channel gain estimates may be obtained for r=1, . . . , R, t=1, . . . , T, v=1, . . . , V, and l=0, . . . , L−1. Equation (20) is equivalent to equation (15). However, ĥ_(r,t,v)(l) may be computed for different values of r, t, v and l with equation (20) whereas ĥ _(t,D) may be computed for different values of t and a specific value of D with equation (15). The channel gain estimates ĥ_(r,t,v)(l) may be used to form ĥ _(i), which is an estimate of h _(i), for i=1, . . . , T·K

For the second scheme, the background noise may be assumed to be spatio-temporally white, so that R _(n)=σ_(n) ²·I, where σ_(n) ² the noise variance and I is an identity matrix. The noise variance may be estimated as follows: {circumflex over (σ)} _(n) ² =Î _(o) −Î _(or),  Eq (21) where Î_(o) is the estimated total received energy, and

Î_(or) is the estimated signal and interference energy.

In an embodiment, Î_(o) and Î_(or) may be derived as follows:

$\begin{matrix} {{{\hat{I}}_{o} = {{LPF}_{noise}\left( {\frac{1}{R \cdot P} \cdot {\sum\limits_{r = 1}^{R}{\sum\limits_{v = 1}^{V}{{y_{r,v}(k)}}^{2}}}} \right)}},{and}} & {{Eq}\mspace{14mu}(22)} \\ {{\hat{I}}_{or} = {{{LPF}_{noise}\left( {\frac{1}{R \cdot P} \cdot {\sum\limits_{r = 1}^{R}{\sum\limits_{t = 1}^{T}{\sum\limits_{v = 1}^{V}{\sum\limits_{l = 0}^{L - 1}{{{\hat{h}}_{r,t,v}(l)}}^{2}}}}}} \right)}.}} & {{Eq}\mspace{14mu}(23)} \end{matrix}$

In another embodiment, Î_(or) may be derived by summing channel gains with sufficient energy. A channel gain may be considered to be sufficiently strong if, e.g., |ĥ_(r,t,v)(l)²≧E_(th), where E_(th) is a threshold. E_(th) may be a fixed value or a configurable value that may be derived based on the total energy for all channel gains.

The noise covariance matrix may then be estimated as follows: {circumflex over (R)} _(n) ={circumflex over (σ)} _(n) ² ·I,  Eq (24) where {circumflex over (R)} _(n) is an estimate of R _(n). {circumflex over (R)} _(n) and ĥ _(i) may be used to derive w _(t) as shown in equation (13) or {tilde over (w)} _(t) as shown in equation (14).

FIG. 6 shows a block diagram of a channel and noise estimator 160 b, which implements the second channel and noise estimation scheme and is another embodiment of channel and noise estimator 160 in FIG. 1. Estimator 160 b includes a multiplexer (Mux) 610, a channel estimator 620, and a noise estimator 630. Multiplexer 610 receives the samples from R receiver units 154 a through 154 r and provides a stream of samples y_(r,v)(k) in a desired order.

Within channel estimator 620, a pilot correlator 622 correlates y_(r,v)(k) with a pilot sequence p_(t)(k) for each transmit antenna and provides initial channel gain estimates for all transmit antennas. A channel filter 624 filters the initial channel gain estimates and provides final channel gain estimates, ĥ_(t,r,v)(l). Pilot correlator 622 and filter 624 perform the processing shown in equation (20). An S/P converter 626 receives the final channel gain estimates for all transmit antennas and provides channel response vectors ĥ _(i), for i=1, . . . , T·K.

Noise estimator 630 estimates the total received energy I_(o), the signal and interference energy I_(or), and the noise σ_(n) ². For the I_(o) estimate, an energy computation unit 642 computes the energy of each sample as |y_(r,v)(k)|². An accumulator 644 accumulates the sample energies across the V sample periods and the R receive antennas and provides an initial I_(o) estimate for each chip period. A noise filter 646 filters the initial I_(o) estimates and provides the final I_(o) estimate, Î_(o). For the I_(or) estimate, an energy computation unit 652 computes the energy of each channel tap as |ĥ_(t,r,v)(l)|². An accumulator 654 accumulates the channel tap energies across the V sample periods, the L channel taps, the T transmit antennas, and the R receive antennas and provides an initial I_(or) estimate. The accumulation may also be performed over channel taps with sufficient energy. A noise filter 656 filters the initial I_(or) estimates and provides the final I_(or) estimate, Î_(or). For the σ_(n) ² estimate, a summer 658 subtracts Î_(or) from Î_(o) and provides the noise variance estimate, {circumflex over (σ)}_(n) ². A unit 660 forms a noise covariance matrix {circumflex over (R)} _(n) based on {circumflex over (σ)}_(n) ², as shown in equation (24). The scaling factors in equations (20), (22) and (23) may be accounted for in various units, e.g., in filters 624, 646 and 656.

FIG. 7 shows an embodiment of a process 700 for performing channel and noise estimation based on the second scheme. Samples are obtained from multiple receive antennas for a MIMO transmission sent from multiple transmit antennas (block 712). Channel estimates are derived, e.g., by correlating the samples with at least one pilot sequence (block 714). The total received energy I_(o) is estimated based on the samples, e.g., by computing the energy of each sample, accumulating the sample energies across the receive antennas and for a given time interval, and filtering the accumulated results for different time intervals (block 716). The signal and interference energy I_(or) is estimated based on the samples, e.g., by computing the energy of each channel tap in the channel estimate, accumulating the energies of all or sufficiently strong channel taps for a given time interval, and filtering the accumulated results for different time intervals (block 718). The channel estimates may be derived with a first filter having a first bandwidth. The total received energy as well as the signal and interference energy may be estimated with a second filter having a second bandwidth that may be the same or different from the first bandwidth. The noise σ_(n) ² is estimated based on the estimated total received energy and the estimated signal and interference energy (block 720). Equalizer weights are derived based on the channel estimates and the estimated noise (block 722). The samples are filtered with the equalizer weights to obtain estimates of the data chips sent from the transmit antennas (block 724).

The second scheme can provide good performance for operating scenarios in which the background noise is spatio-temporally white. The second scheme also works well for a severe multipath environment since (a) the background noise R _(n) is less significant and (b) the dominant component of R _(yy) is likely to be multipath interference that may be accurately estimated based on the channel estimates obtained from equation (20).

In a third channel and noise estimation scheme, R _(yy) is decomposed into on-time components and remaining components, which are estimated separately. For the third scheme, initial channel estimates may be derived as follows:

$\begin{matrix} {{{{\underset{\_}{h}}_{t,D}^{\prime}(j)} = {\sum\limits_{k = {{j \cdot N_{P}} - D}}^{{{({j + 1})} \cdot N_{P}} - D - 1}{{p_{t}^{*}\left( {k + D} \right)} \cdot {\underset{\_}{y}(k)}}}},} & {{Eq}\mspace{14mu}(25)} \end{matrix}$ where h _(t,D)′(j) is an estimate of h _(t,D) for pilot symbol period j.

The channel response vectors may then be estimated as follows:

$\begin{matrix} {{\hat{\underset{\_}{h}}}_{t,D} = {{{LPF}_{channel}\left( {\frac{1}{N_{P} \cdot \sqrt{E_{cp}/\sigma_{x}^{2}}} \cdot {{\underset{\_}{h}}_{t,D}^{\prime}(j)}} \right)}.}} & {{Eq}\mspace{14mu}(26)} \end{matrix}$ Equations (25) and (26) are equivalent to equation (15).

Equations (13) and (14) for the equalizer weights may be rewritten as follows:

$\begin{matrix} {\begin{matrix} {{\underset{\_}{w}}_{t}^{H} = {\sigma_{x} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot {\underset{\_}{R}}_{yy}^{- 1}}} \\ {= {\sigma_{x} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot \left\lbrack {{\underset{\_}{R}}_{ot} + {\underset{\_}{R}}_{c}} \right\rbrack^{- 1}}} \end{matrix}{and}} & {{Eq}\mspace{14mu}(27)} \\ \begin{matrix} {{\overset{\sim}{\underset{\_}{w}}}_{t}^{H} = {G \cdot \sigma_{x} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot {\overset{\sim}{\underset{\_}{R}}}_{yy}^{- 1}}} \\ {= {G \cdot \sigma_{x} \cdot {\underset{\_}{h}}_{t,D}^{H} \cdot \left\lbrack {{G^{2} \cdot {\underset{\_}{R}}_{ot}} + {\underset{\_}{R}}_{c}} \right\rbrack^{- 1}}} \end{matrix} & {{Eq}\mspace{14mu}(28)} \end{matrix}$ where R _(ot) is a matrix indicative of signal and on-time interference statistics, and

R _(c) is a matrix indicative of noise and multipath interference statistics.

R _(ot) may be expressed as:

$\begin{matrix} {{\underset{\_}{R}}_{ot} = {\sum\limits_{i = 1}^{T}{\sigma_{x}^{2} \cdot {\underset{\_}{h}}_{i,D} \cdot {{\underset{\_}{h}}_{i,D}^{H}.}}}} & {{Eq}\mspace{14mu}(29)} \end{matrix}$ R _(ot) includes the desired signal as well as the on-time interference from the other transmit antennas.

R _(c) may be expressed as:

$\begin{matrix} {{{\underset{\_}{R}}_{c} = {{\sum\limits_{q \in Q}{\sigma_{x}^{2} \cdot {\underset{\_}{h}}_{q} \cdot {\underset{\_}{h}}_{q\;}^{H}}} + {\underset{\_}{R}}_{n}}},} & {{Eq}\mspace{14mu}(30)} \end{matrix}$ where Q is a set that includes 1 through T·K but excludes (i−1). K+D, for i=1, . . . , T. R _(c) includes (1) multipath interference, which is interference that is not on-time and represented by the summation in equation (30), and (2) background noise, which is represented by R _(n). R _(c) does not include contribution from the signal and on-time interference, which is represented by ĥ _(t,D). Hence, R _(c) may be estimated by performing differential-based multipath plus noise estimation.

To estimate R _(c), h _(t,D)′(j) is first differentiated as follows:

$\begin{matrix} {{\Delta\;{{\underset{\_}{h}}_{t,D}(j)}} = {\frac{1}{\sqrt{2N_{P}}} \cdot {\left\lbrack {{{\underset{\_}{h}}_{t,D}^{\prime}(j)} - {{\underset{\_}{h}}_{t,D}^{\prime}\left( {j - 1} \right)}} \right\rbrack.}}} & {{Eq}\mspace{14mu}(31)} \end{matrix}$ The differential operation in equation (31) cancels the on-time components in h _(t,D)′(j) if the channel response remains constant over two consecutive pilot symbol periods. A scaling factor of 1/√{square root over (2)} is introduced in equation (31) so that the differential operation does not change the second-order moment of the multipath interference and the background noise. An estimate of R _(c) may then be derived as follows:

$\begin{matrix} {{\hat{\underset{\_}{R}}}_{c} = {{{LPF}_{noise}\left( {\frac{1}{T} \cdot {\sum\limits_{t = 1}^{T}{\Delta\;{{{\underset{\_}{h}}_{t,D}(j)} \cdot \Delta}\;{{\underset{\_}{h}}_{t,D}^{H}(j)}}}} \right)}.}} & {{Eq}\mspace{14mu}(32)} \end{matrix}$ {circumflex over (R)} _(c) does not include contributions from the on-time components, which are removed by the differential operation in equation (31).

An estimate of R _(ot) may be derived as follows:

$\begin{matrix} {{\hat{\underset{\_}{R}}}_{ot} = {\sum\limits_{t = 1}^{T}{{\hat{\underset{\_}{h}}}_{t,D} \cdot {{\hat{\underset{\_}{h}}}_{t,D}^{H}.}}}} & {{Eq}\mspace{14mu}(33)} \end{matrix}$

For the weight vectors shown in equation (13) and (27), {circumflex over (R)} _(c) may be augmented with {circumflex over (R)} _(ot) to obtain an estimate of R _(yy), as follows: {circumflex over (R)} _(yy)={circumflex over (R)} _(ot)+{circumflex over (R)} _(c).  Eq (34) The weight vectors may then be derived as: ŵ _(t) ^(H) =ĥ _(t,D) ^(H) ·{circumflex over (R)} _(yy) ⁻¹.  Eq (35)

For the enhanced weight vectors shown in equation (14) and (28), {circumflex over (R)} _(c) may be augmented with {circumflex over (R)} _(ot) to obtain an estimate of {tilde over (R)} _(yy), as follows: {tilde over ({circumflex over (R)} _(yy) =G ² ·{circumflex over (R)} _(ot) +{circumflex over (R)} _(c).  Eq (36) The enhanced weight vectors may then be derived as: {tilde over (ŵ)} _(t) ^(H) =ĥ _(t,D) ^(H) ·{tilde over ({circumflex over (R)} _(yy) ⁻¹.  Eq (37)

FIG. 8 shows a block diagram of a channel and noise estimator 160 c, which implements the third channel and noise estimation scheme and is yet another embodiment of channel and noise estimator 160 in FIG. 1. Estimator 160 c includes an S/P converter 810, a channel estimator 820, and a signal, noise and interference statistics estimator 830. S/P converter 810 receives the samples from R receiver units 154 a through 154 r and forms vector y(k).

Within channel estimator 820, a pilot correlator 822 correlates y(k) with a pilot sequence p_(t)(k) for each transmit antenna t and provides an initial channel estimate, h _(t,D)′(j) for each transmit antenna in each pilot symbol period j. A channel filter 824 filters the initial channel estimates and provides final channel estimates, ĥ _(t,D). Pilot correlator 822 performs the processing shown in equation (25). Filter 824 performs the processing shown in equation (26).

Within estimator 830, a unit 832 receives and differentiates the initial channel estimates, h _(t,D)(j), as shown in equation (31) and provides the difference, Δh_(t,D)(j). A unit 834 computes the outer product of Δh _(t,D)(j). A unit 836 sums the output of unit 834 across all T transmit antennas. A noise filter 838 filters the output from unit 836 and provides the estimated noise and multipath interference statistics, {circumflex over (R)} _(c). Units 834, 836 and 838 perform the processing shown in equation (32). A unit 844 computes the outer product of ĥ _(t,D). A unit 846 sums the output of unit 844 across all T transmit antennas and provides the estimated signal and on-time interference statistics, {circumflex over (R)} _(ot). Units 844 and 846 perform the processing shown in equation (33). A matrix summer 850 sums {circumflex over (R)} _(c) with {circumflex over (R)} _(ot) and provides the estimated signal, noise and interference statistics, {circumflex over (R)} _(yy). The scaling factors in equations (26), (31) and (32) may be accounted for in various units, e.g., in filters 824 and 838.

R _(c) and R _(ot) may also be estimated in other manners. For example, an estimate of R _(ot) may be obtained by computing the outer product of h_(t,D)′(j), summing across T transmit antennas, and filtering the summed results. As another example, an estimate of R _(c) may be obtained by filtering Δh _(t,D)(j), computing the outer product of the filtered Δh _(t,D)(j), and summing across the T transmit antennas.

FIG. 9 shows an embodiment of a process 900 for performing channel and noise estimation based on the third scheme. Samples are obtained from multiple receive antennas for a MIMO transmission sent from multiple transmit antennas (block 912). First or initial channel estimates may be derived, e.g., by correlating the samples with at least one pilot sequence (block 914). The first channel estimates are filtered with a first filter to obtain second or final channel estimates (block 916).

The signal and on-time interference statistics are estimated based on the samples, e.g., by computing the cross-product of the second channel estimates and summing across the transmit antennas (block 918). The noise and multipath interference statistics are also estimated based on the samples, e.g., by differentiating the first channel estimates, computing cross-product of the differentiated results, and filtering the cross-product results with a second filter (block 920). The first and second filters may have the same or different bandwidths, which may be fixed or configurable, e.g., adjusted based on channel conditions. The signal, noise and interference statistics are then estimated based on the estimated signal and on-time interference statistics and the estimated noise and multipath interference statistics (block 922).

Equalizer weights are derived based on the second channel estimates and the estimated signal, noise and interference statistics (block 924). The samples are filtered with the equalizer weights to obtain estimates of the data chips sent from the transmit antennas (block 926).

As shown in equation (26), the on-time components at delay D may be averaged by the channel filter, LPF_(channel), to obtain ĥ _(t,D), which is used to derive {circumflex over (R)} _(ot). The background noise and multipath interference may be averaged by the noise filter, LPF_(noise), to obtain {circumflex over (R)} _(c). The use of two filters to average the desired signal in ĥ _(t,D) and the noise and multipath interference in {circumflex over (R)} _(c) may be beneficial in some environments. For example, in a single-path high-velocity channel, a small bandwidth or large time constant may be used for the noise filter to improve the accuracy of {circumflex over (R)} _(c), and a large bandwidth or small time constant may be used for the channel filter to prevent utilization of stale or obsolete channel estimates ĥ _(t,D). The noise and multipath interference estimation is typically more accurate with a smaller bandwidth for the noise filter. A smaller noise filter bandwidth is beneficial for a severe multipath channel in order to sufficiently suppress large uncorrelated components associated with multipath. However, the bandwidth of the noise filter should not be reduced too much in a severe multipath high-velocity channel since multipath component becomes the dominant component that determines {circumflex over (R)} _(c), and the multipath component may become outdated if the noise filter bandwidth is too small.

The third scheme provides good performance for many channel environments, especially for a single-path high geometry channel. The use of the robust differential-based noise estimation allows the third scheme to work well in various channel conditions. The third scheme also has lower computational complexity than the first scheme since the outer products in equations (32) and (33) are performed every pilot symbol period instead of every chip period. The third scheme also provides good performance even with a colored background noise.

For the third scheme, the differential operation in equation (31) assumes that the channel is constant over two consecutive pilot symbol periods. A sufficiently short pilot symbol duration may be used for a high-velocity channel so that the noise and multipath interference estimation is not outdated. Computer simulation results show that a pilot symbol duration of 256 chips or less for HSDPA in W-CDMA provides good performance with 30 km/h velocity.

In general, the estimation of the multipath interference in R _(c) may be improved with more vectors for h _(t,D)′(j). The number of h _(t,D)′(j) vectors may be increased by taking partial integration of the pilot symbols. For example, if the pilot symbol duration is 512 chips long, then the integration length may be set to 128 chips, and four h _(t,D)′(j) vectors may be obtained per pilot symbol. The partial integration may result in crosstalk between orthogonal pilots from different transmit antennas. However, since the orthogonal pilot patterns and the channel estimates ĥ _(t,D) are known, the pilot crosstalk may be estimated and subtracted out. This approach may still suffer from the leakage (crosstalk) of some OCNS channels if they have a symbol length greater than 128, but it can be acceptable if the power of the corresponding OCNS is small. Alternatively, in order to maximize the performance, we may take the length of pilot symbols shorter than that of some OCNS symbols in the system design.

In a fourth channel and noise estimation scheme, multiple estimation schemes are supported, and one estimation scheme is selected for use based on channel conditions. In an embodiment, the second scheme is selected for a severe multi-path high-velocity channel and the third scheme is selected for a single-path high-geometry channel. Other combinations of channel and noise estimation schemes may also be used.

The channel conditions may be detected in various manners and with various metrics. In an embodiment, the channel conditions are characterized by delay spread. For this embodiment, a searcher may search for signal paths or multipaths, e.g., similar to the search performed for a CDMA receiver. The delay spread may be computed as the difference between the earliest and latest arriving signal paths at the receiver. In another embodiment, the channel conditions are characterized by a path energy ratio. For this embodiment, the energy of the strongest signal path is computed, and the combined energy of all other signal paths identified as significant (e.g., with energy exceeding a threshold E_(th)) is also computed. The path energy ratio is the ratio of the combined energy for the significant paths to the energy for the strongest path. A low path energy ratio may indicate a single path environment whereas a high path energy ratio may indicate a multipath environment. In yet another embodiment, the velocity of the receiver is estimated, e.g., based on an estimate of Doppler and/or some other velocity-indicating parameter.

In an embodiment, the third estimation scheme is selected if the delay spread is smaller than a delay threshold D_(th) or if the path energy ratio is less than a predetermined threshold P_(th) or if the velocity is below a velocity threshold V_(th). The second estimation scheme may be selected otherwise. If the velocity is low, then the bandwidth of the noise filter may be reduced to improve noise estimation. In general, the third estimation scheme may be used if a sufficient number of noise and multipath interference samples that are relatively current can be obtained, e.g., via a short pilot symbol period or small bandwidth for the noise filter. Otherwise, the second estimation scheme may be used.

FIG. 10 shows an embodiment of a process 1000 for performing channel and noise estimation based on the fourth scheme. Samples are obtained from multiple receive antennas for a MIMO transmission sent from multiple transmit antennas (block 1012). Channel conditions are determined based on the samples (block 1014). The channel conditions may be characterized by (1) delay spread, which may be estimated based on the earliest and latest arriving signal paths, (2) single path or multipath environment, which may be determined based on the energies of the signal paths detected at the receiver, (3) velocity, which may be estimated based on Doppler, and/or (4) possibly other criteria.

A channel and noise estimation scheme is selected from among multiple channel and noise estimation schemes based on the channel conditions (block 1016). The multiple channel and noise estimation schemes may include all or any combination of the schemes described above. For example, the second and third channel and noise estimation schemes described above may be supported. The third channel and noise estimation scheme may be selected if the channel conditions indicate a small delay spread, a single path environment, low velocity, or a combination thereof. The second channel and noise estimation scheme may be selected if the channel conditions indicate a large delay spread, a multipath environment, high velocity, or a combination thereof. Channel and noise estimation is then performed based on the selected channel and noise estimation scheme (block 1018).

The channel and noise estimation techniques described herein may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. For a hardware implementation, the processing units used to perform channel and noise estimation may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.

For a firmware and/or software implementation, the techniques may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The firmware and/or software codes may be stored in a memory (e.g., memory 192 in FIG. 1) and executed by a processor (e.g., processor 190). The memory may be implemented within the processor or external to the processor, in which case it can be communicatively coupled to the processor via various means as is known in the art.

The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein. 

What is claimed is:
 1. An apparatus comprising: at least one processor; memory in electronic communication with the processor; instructions stored in the memory, the instructions being executable by the processor to: obtain samples from multiple receive antennas for a multiple-input multiple-output (MIMO) transmission sent from multiple transmit antennas; derive channel estimates by correlating the samples with at least one pilot sequence; estimate signal, noise and interference statistics based on a cross product of the samples; and derive equalizer weights, wherein the correlating comprises multiplying a sample vector for a chip period and a complex conjugated pilot chip for the chip period offset by a delay.
 2. The apparatus of claim 1, wherein the instructions executable to derive the channel estimates comprise instructions executable to derive the channel estimates using a first filter having a first bandwidth, and the instructions executable to estimate the signal, noise and interference statistics comprise instructions executable to derive the signal, noise and interference statistics using a second filter having a second bandwidth.
 3. The apparatus of claim 1, wherein the instructions executable to derive equalizer weights comprise instructions executable to derive equalizer weights based on the channel estimates and the estimated signal, noise and interference statistics, and to filter the samples with the equalizer weights.
 4. The apparatus of claim 1, further comprising instructions executable to transmit multiple signals from the multiple transmit antennas, each signal comprising multiple data streams multiplexed with different orthogonal codes.
 5. A method comprising: obtaining samples from multiple receive antennas for a multiple-input multiple-output (MIMO) transmission sent from multiple transmit antennas; deriving channel estimates by correlating the samples with at least one pilot sequence, wherein the correlating comprises multiplying a sample vector for a chip period and a complex conjugated pilot chip for the chip period offset by a delay; estimating signal, noise and interference statistics based on a cross product of the samples; and deriving equalizer weights.
 6. The method of claim 5, wherein the deriving the channel estimates comprises deriving the channel estimates using a first filter having a first bandwidth, and wherein the estimating the signal, noise and interference statistics comprises estimating the signal, noise and interference statistics using a second filter having a second bandwidth.
 7. The method of claim 5, wherein the deriving equalizer weights comprises: deriving the equalizer weights based on the channel estimates and the estimated signal, noise and interference statistics; and filtering the samples with the equalizer weights.
 8. The method of claim 5, further comprising transmitting multiple signals from the multiple transmit antennas, each signal comprising multiple data streams multiplexed with different orthogonal codes.
 9. An apparatus comprising: means for obtaining samples from multiple receive antennas for a multiple-input multiple-output (MIMO) transmission sent from multiple transmit antennas; means for deriving channel estimates by correlating the samples with at least one pilot sequence, wherein the correlating comprises multiplying a sample vector for a chip period and a complex conjugated pilot chip for the chip period offset by a delay; means for estimating signal, noise and interference statistics based on a cross product of the samples; and means for deriving equalizer weights.
 10. The apparatus of claim 9, wherein the means for deriving the channel estimates comprises means for deriving the channel estimates using a first filter having a first bandwidth, and wherein the means for estimating the signal, noise and interference statistics comprises means for estimating the signal, noise and interference statistics using a second filter having a second bandwidth.
 11. The apparatus of claim 9, wherein the means for deriving equalizer weights comprises means for deriving equalizer weights based on the channel estimates and the estimated signal, noise and interference statistics and means for filtering the samples with the equalizer weights.
 12. The apparatus of claim 9, further comprising means for transmitting multiple signals from the multiple transmit antennas, each signal comprising multiple data streams multiplexed with different orthogonal codes.
 13. A non-transitory processor-readable medium, comprising: code for obtaining samples from multiple receive antennas for a multiple-input multiple-output (MIMO) transmission sent from multiple transmit antennas; code for deriving channel estimates by correlating the samples with at least one pilot sequence, wherein the correlating comprises multiplying a sample vector for a chip period and a complex conjugated pilot chip for the chip period offset by a delay; code for estimating signal, noise and interference statistics based on a cross product of the samples; and code for deriving equalizer weights.
 14. The processor-readable medium of claim 13, wherein the code for deriving the channel estimates comprises code for deriving the channel estimates using a first filter having a first bandwidth, and wherein the code for estimating the signal, noise and interference statistics comprises code for estimating the signal, noise and interference statistics using a second filter having a second bandwidth.
 15. The processor-readable medium of claim 13, wherein the code for deriving equalizer weights comprises code for deriving equalizer weights based on the channel estimates and the estimated signal, noise and interference statistics, and code for filtering the samples with the equalizer weights.
 16. The processor-readable medium of claim 13, further comprising code for transmitting multiple signals from the multiple transmit antennas, each signal comprising multiple data streams multiplexed with different orthogonal codes. 